import axios from "axios";
import router from "./router";

/* 接口文档地址
https://117.50.198.65/api/doc.html#/default/%E8%AE%A2%E5%8D%95%E7%9B%B8%E5%85%B3%E6%8E%A5%E5%8F%A3/getOrderById
有前端代理跨域
*/

const instance = axios.create({
    baseURL: import.meta.env.VITE_BASE_URL,
    // baseURL: 'http://localhost:8080',
    timeout: 1000,
    // headers: {'X-Custom-Header': 'foobar'}
});

// 添加请求拦截器
instance.interceptors.request.use(
    function (config) {
        // 在发送请求之前做些什么
        config.headers["authorization"] = sessionStorage.getItem("token");
        return config;
    },
    function (error) {
        // 对请求错误做些什么
        return Promise.reject(error);
    }
);

// 添加响应拦截器
instance.interceptors.response.use(
    function ({data}) {
        if (data.code === 1 && data.data === 401) {
            alert("当前登录用户信息遗失或过期，请重新登录");
            router.push("/login");
        }
        if (data.code === 1 && data.data === 500) {
           alert(data.msg);
        }
        return data;
    },
    function (error) {
        console.log(error)
        alert('error：' +JSON.stringify(error))
        const {status} = error.response;
        if (status.code === 1 && status.data === 401) {
            router.push("/login");
        }
        // 超出 2xx 范围的状态码都会触发该函数。
        // 对响应错误做点什么
        return Promise.reject(error);
    }
);

export default instance;
